package com.ruoyi.cderp.mapper;

import java.util.List;
import com.ruoyi.cderp.domain.TblTakeStockPlan;
import com.ruoyi.cderp.domain.TblTakeStockPlanDetail;

/**
 * 库存盘点任务Mapper接口
 * 
 * @author ruoyi
 * @date 2025-05-09
 */
public interface TblTakeStockPlanMapper 
{
    /**
     * 查询库存盘点任务
     * 
     * @param id 库存盘点任务主键
     * @return 库存盘点任务
     */
    public TblTakeStockPlan selectTblTakeStockPlanById(String id);

    /**
     * 查询库存盘点任务列表
     * 
     * @param tblTakeStockPlan 库存盘点任务
     * @return 库存盘点任务集合
     */
    public List<TblTakeStockPlan> selectTblTakeStockPlanList(TblTakeStockPlan tblTakeStockPlan);

    /**
     * 新增库存盘点任务
     * 
     * @param tblTakeStockPlan 库存盘点任务
     * @return 结果
     */
    public int insertTblTakeStockPlan(TblTakeStockPlan tblTakeStockPlan);

    /**
     * 修改库存盘点任务
     * 
     * @param tblTakeStockPlan 库存盘点任务
     * @return 结果
     */
    public int updateTblTakeStockPlan(TblTakeStockPlan tblTakeStockPlan);

    /**
     * 删除库存盘点任务
     * 
     * @param id 库存盘点任务主键
     * @return 结果
     */
    public int deleteTblTakeStockPlanById(String id);

    /**
     * 批量删除库存盘点任务
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTblTakeStockPlanByIds(String[] ids);

    /**
     * 批量删除库存盘点任务明细
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTblTakeStockPlanDetailByPlanIds(String[] ids);
    
    /**
     * 批量新增库存盘点任务明细
     * 
     * @param tblTakeStockPlanDetailList 库存盘点任务明细列表
     * @return 结果
     */
    public int batchTblTakeStockPlanDetail(List<TblTakeStockPlanDetail> tblTakeStockPlanDetailList);
    

    /**
     * 通过库存盘点任务主键删除库存盘点任务明细信息
     * 
     * @param id 库存盘点任务ID
     * @return 结果
     */
    public int deleteTblTakeStockPlanDetailByPlanId(String id);
}
